package com.sgcc.operate.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sgcc.common.core.annotation.Excel;
import com.sgcc.common.core.web.domain.BaseEntity;

/**
 * 运营指标制定对象 o_indi_form
 * 
 * @author sgcc
 * @date 2021-03-23
 */
public class OIndiForm extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 指标制定ID */
    @Excel(name = "指标制定ID")
    private String id;

    /** 指标定义ID */
    @Excel(name = "指标定义ID")
    private String indiid;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date starttime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endtime;

    /** 期望指标值 */
    @Excel(name = "期望指标值")
    private String expectvalue;

    /** 时间段分解方式 */
    @Excel(name = "时间段分解方式")
    private String timedecomode;

    /** 运营指标状态 */
    @Excel(name = "运营指标状态")
    private String indistatus;

    /** 管理单位 */
    @Excel(name = "管理单位")
    private String manageorg;

    /** 维护人 */
    @Excel(name = "维护人")
    private String modifyemp;

    /** 维护时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "维护时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date modifytime;

    /** 维护人单位 */
    @Excel(name = "维护人单位")
    private String modifyorg;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "维护人单位", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "维护人单位", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updateDate;

    /** $column.columnComment */
    @Excel(name = "维护人单位")
    private String delFlag;

    /** 图片地址 */
    @Excel(name = "图片地址")
    private String attach;

    private List<OIndiDeco> oindiDecoList = Lists.newArrayList();		// 子表列表

    private List<OIndiDeco> timeSlotList = Lists.newArrayList();		// 子表列表

    private String orgname;    //机构的中文名称

    private String indino;  //指标编编号
    private String indiname; //指标名称
    private String createname ; //制定人名称

    private String ids;   //组件过滤已选id

    private String createByName;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setIndiid(String indiid) 
    {
        this.indiid = indiid;
    }

    public String getIndiid() 
    {
        return indiid;
    }
    public void setStarttime(Date starttime) 
    {
        this.starttime = starttime;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date getStarttime() 
    {
        return starttime;
    }
    public void setEndtime(Date endtime) 
    {
        this.endtime = endtime;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date getEndtime() 
    {
        return endtime;
    }
    public void setExpectvalue(String expectvalue) 
    {
        this.expectvalue = expectvalue;
    }

    public String getExpectvalue() 
    {
        return expectvalue;
    }
    public void setTimedecomode(String timedecomode) 
    {
        this.timedecomode = timedecomode;
    }

    public String getTimedecomode() 
    {
        return timedecomode;
    }
    public void setIndistatus(String indistatus) 
    {
        this.indistatus = indistatus;
    }

    public String getIndistatus() 
    {
        return indistatus;
    }
    public void setManageorg(String manageorg) 
    {
        this.manageorg = manageorg;
    }

    public String getManageorg() 
    {
        return manageorg;
    }
    public void setModifyemp(String modifyemp) 
    {
        this.modifyemp = modifyemp;
    }

    public String getModifyemp() 
    {
        return modifyemp;
    }
    public void setModifytime(Date modifytime) 
    {
        this.modifytime = modifytime;
    }

    public Date getModifytime() 
    {
        return modifytime;
    }
    public void setModifyorg(String modifyorg) 
    {
        this.modifyorg = modifyorg;
    }

    public String getModifyorg() 
    {
        return modifyorg;
    }
    public void setCreateDate(Date createDate) 
    {
        this.createDate = createDate;
    }

    public Date getCreateDate() 
    {
        return createDate;
    }
    public void setUpdateDate(Date updateDate) 
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() 
    {
        return updateDate;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setAttach(String attach) 
    {
        this.attach = attach;
    }

    public String getAttach() 
    {
        return attach;
    }

    public List<OIndiDeco> getOindiDecoList() {
        return oindiDecoList;
    }

    public void setOindiDecoList(List<OIndiDeco> oindiDecoList) {
        this.oindiDecoList = oindiDecoList;
    }

    public List<OIndiDeco> getTimeSlotList() {
        return timeSlotList;
    }

    public void setTimeSlotList(List<OIndiDeco> timeSlotList) {
        this.timeSlotList = timeSlotList;
    }

    public String getOrgname() {
        return orgname;
    }

    public void setOrgname(String orgname) {
        this.orgname = orgname;
    }

    public String getIndino() {
        return indino;
    }

    public void setIndino(String indino) {
        this.indino = indino;
    }

    public String getIndiname() {
        return indiname;
    }

    public void setIndiname(String indiname) {
        this.indiname = indiname;
    }

    public String getCreatename() {
        return createname;
    }

    public void setCreatename(String createname) {
        this.createname = createname;
    }

    public String getIds() {
        return ids;
    }

    public void setIds(String ids) {
        this.ids = ids;
    }


    public String getCreateByName() {
        return createByName;
    }

    public void setCreateByName(String createByName) {
        this.createByName = createByName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("indiid", getIndiid())
            .append("starttime", getStarttime())
            .append("endtime", getEndtime())
            .append("expectvalue", getExpectvalue())
            .append("timedecomode", getTimedecomode())
            .append("indistatus", getIndistatus())
            .append("manageorg", getManageorg())
            .append("modifyemp", getModifyemp())
            .append("modifytime", getModifytime())
            .append("modifyorg", getModifyorg())
            .append("createBy", getCreateBy())
            .append("createDate", getCreateDate())
            .append("updateBy", getUpdateBy())
            .append("updateDate", getUpdateDate())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .append("attach", getAttach())
            .toString();
    }
}
